package com.xiyu.service.convert.restaurant;

import com.xiyu.service.vo.restaurant.recipe.RecipePageQueryDetailOutput;
import com.xiyu.service.vo.restaurant.recipe.RecipeListQueryComboOutput;
import com.xiyu.service.model.restaurant.recipe.RestaurantRecipeDetail;
import com.xiyu.service.vo.restaurant.recipe.RecipeComboGetOutput;
import com.xiyu.service.vo.restaurant.recipe.RecipeComboUpdateInput;
import com.xiyu.service.vo.restaurant.recipe.RecipeComboCreateInput;
import com.xiyu.service.vo.restaurant.recipe.RecipeComboQueryOutput;
import com.xiyu.service.model.restaurant.recipe.RestaurantCombo;
import com.xiyu.service.vo.restaurant.recipe.RecipeGetOutput;
import com.xiyu.service.vo.restaurant.recipe.RecipeUpdateInput;
import com.xiyu.service.vo.restaurant.recipe.RecipeCreateInput;
import com.xiyu.service.vo.restaurant.recipe.RecipeQueryOutput;
import com.xiyu.service.model.restaurant.recipe.RestaurantRecipe;
import java.util.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import org.babyfish.jimmer.Page;

/**
 * 食谱管理 Convert
 */
@Mapper
public interface RecipeConvert {
    RecipeConvert INSTANCE = Mappers.getMapper(RecipeConvert.class);


    List<RecipeQueryOutput> queryPageOutputConvert(List<RestaurantRecipe> output);

    RestaurantRecipe createInputConvert(RecipeCreateInput input);

    RestaurantRecipe updateInputConvert(RecipeUpdateInput input);

    RestaurantRecipeDetail updateInputConvert(RecipeUpdateInput.detail inout);

    RecipeGetOutput getOutputConvert(RestaurantRecipe output);

    List<RecipeComboQueryOutput> comboQueryListOutputConvert(List<RestaurantCombo> output);

    RestaurantCombo comboCreateInputConvert(RecipeComboCreateInput input);

    RestaurantCombo comboUpdateInputConvert(RecipeComboUpdateInput input);

    RecipeComboGetOutput comboGetOutputConvert(RestaurantCombo output);

    List<RecipeComboQueryOutput> comboQueryOutputConvert(List<RestaurantCombo> output);

    List<RecipeListQueryComboOutput> listQueryComboOutputConvert(List<RestaurantCombo> output);

    List<RecipePageQueryDetailOutput> pageQueryDetailOutputConvert(List<RestaurantRecipe> output);

    List<RecipeQueryOutput> queryOutputConvert(List<RestaurantRecipe> output);

}
